package org.darcy.entity.org;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

@Data
@Schema(description="OrgCompany: 企业")
@TableName(value = "org_company")
public class Company implements Serializable {

	private static final long serialVersionUID = -8526694883060760613L;

	@Schema(description = "主键")
	@TableId(type = IdType.AUTO)
	private Integer id;

	@Schema(description = "上级公司id")
	@TableField(value = "`pid`")
	private Integer pid;

	@Schema(description = "公司中文名称")
	@TableField(value = "`cname`")
	private String cname;

	@Schema(description = "公司简称")
	@TableField(value = "`short_name`")
	private String shortName;

	@Schema(description = "公司英文名称")
	@TableField(value = "`ename`")
	private String ename;

	@Schema(description = "公司code")
	@TableField(value = "`code`")
	private String code;

	@Schema(description = "")
	@TableField(value = "`order_no`")
	private Integer orderNo;

	@Schema(description = "描述")
	@TableField(value = "`descr`")
	private String descr;

	@Schema(description = "状态 1启用 0禁用")
	@TableField(value = "`status`")
	private Integer status;
	
	@Schema(description = "创建时间")
	@TableField(value = "`create_time`")
	private Date createTime;

	@Schema(description = "更新时间")
	@TableField(value = "`update_time`")
	private Date updateTime;

	@Schema(description = "删除标识0表示删除1表示存在")
	@TableField(value = "`del_flag`")
	private Integer delFlag;


	///

	@TableField(exist = false)
	private String pcode;

	@TableField(exist = false)
	private String userName;// 登入名

	@TableField(exist = false)
	private List<String> roleSnList;// 角色标识
	/**
	 * 查询条件 - 【临时属性】
	 */
	@TableField(exist = false)
	private List<String> companyIds;

	@TableField(exist = false)
	private String typeCode;

	@TableField(exist = false)
	private String typeName;
}
